// ============================== 导入依赖 ============================== //

// ============================== 导出表单输入提示框 ============================== //

export default {
  // —————————————————————————————— 公共覆盖 —————————————————————————————— //

  bind: { type: String, default: 'inputTip' }, // 绑定键名，触发 @change 事件
  tipPre: { type: String, default: '请输入' }, // 提示前缀

  // —————————————————————————————— 私有校验 —————————————————————————————— //

  reg: { type: RegExp, default: null }, // 正则表达式
  regErr: { type: String, default: '不符合规则' }, // 正则错误信息

  // —————————————————————————————— 私有属性 —————————————————————————————— //

  max: { type: Number, default: 100 }, // 最大长度
  upper: { type: Boolean, default: false }, // 是否转为全大写
  lower: { type: Boolean, default: false }, // 是否转为全小写

  // —————————————————————————————— 查询属性 —————————————————————————————— //

  query: { type: Function, default: () => [] }, // 查询方法，可异步
  focusTip: { type: Boolean, default: false }, // 是否在聚焦时提执行一次查询并显示提示 (后端异步查询时不建议开启)

  // —————————————————————————————— 下拉属性 —————————————————————————————— //

  nameKey: { type: String, default: 'name' }, // 名称键名
  rightKey: { type: String, default: '' }, // 右侧键名 (为空不显示右侧辅助信息)
}

// ============================== 事件 ============================== //

// @change 改变事件 (value) => {}
// @select 选择事件 (item) => {}
// @reset  重置事件 () => {}

// ============================== 插槽 ============================== //

// <template #item="{ item, text }">
//   {{ text || item.name }}
// </template>
